#include "../../head.h"


// 2、用进程相关API函数编写一个程序，使之产生一个进程链：进程派生一个子进程后，父进程然后打印出自己的PID,然后退出，该子进程继续派生子进程，然后打印PID,然后退出，以此类推。
// 要求：1实现一个父进程要比子进程先打印PID的版本。（即打印的PID一般是递增的）
//      2实现一个子进程要比父进程先打印PID的版本。（即打印的PID一般是递减的）

int main()
{
    printf("main\n");
    pid_t pid;
    for (int i = 0; i < 5; i++)
    {
        pid = fork();
        if (pid == 0)   
        {
            sleep(1);
            printf("我是第%d个子进程,我的pid是%d\n",i,getpid());
        }
        if(pid > 0)
        {
            if (i == 0)
            {
                printf("我是父进程,我的pid是%d\n",getpid());                
            }
            break;
        }    
    }
    
    wait(NULL);
    printf("进程%d结束\n",getpid());
    return 0;
}